package com.heatup.apt.management.service.course;

import java.util.List;
import java.util.Map;

import com.heatup.apt.model.Resource;
import com.heatup.apt.model.course.CoachFeeDetailVo;
import com.heatup.apt.model.course.CourseInfoModel;
import com.heatup.apt.model.course.CourseTeamInfo;

/**
 * Created by b3st9u on 16/8/22.
 */
public interface CourseService {

   
   

    /**
     * 根据id删除课程
     *
     * @param id
     * @return
     */
    public boolean delCourseInfoById(int id);

    /**
     * 分页查询檬营课程
     * @param paramsMap
     * @return
     */
    Map<String,Object> queryCourseList(Map<String, Object> paramsMap);

    /**
     * 分页查询团课
     * @param paramsMap
     * @return
     */
    Map<String,Object> queryCourseTeamList(Map<String,Object> paramsMap);


    /**
     * 保存檬营课程
     * @param courseInfoModel
     * @return >0 成功 不然 失败
     */
    boolean saveCourse(CourseInfoModel courseInfoModel);

    /**
     * 主键查询檬营课程
     * @param id
     * @return
     */
    CourseInfoModel queryCourseById(Integer id);

    /**
     *跳转到查询团课页面
     * @return
     */
    Map<String,Object> queryCourseTeamToList();

    /**
     * 主键查询团课
     * @param id
     * @return
     */
    CourseTeamInfo queryCourseTeamById(int id);
    /**
     * 查询资源类型
     * @param map
     * @return
     */
    List<Resource> getResourceByCoursrId(Map<String, Object> map);

    /**
     * 檬营下架
     * @param id
     * @return
     */
    boolean closeCourseById(Integer id);
    /**
     * 课程管理的删除只做逻辑删除不做物理删除
     *
     * @return
     */
    int updateCourseInfoToDel(Map<String, Object> map);
    
    Map<String,Object> getCourseResources(Map<String,Object> map);

    /**
     * 查询课程正常订单的数量
     * @param id
     * @return
     */
    int queryCourseOrderByCourseId(Integer id);
    
    public List<CoachFeeDetailVo> queryCoachFeeDetail(Map<String, Object> paramsMap);
    
  
}
